import lombok.extern.java.Log;
import pojo.Movie;
import pojo.User;
import system.MovieSystem;
import system.impl.MovieSystemImpl;
import tool.LogCat;

import java.util.List;
import java.util.Map;

public class Test2 {
    public static void main(String[] args) {

        //测试2
        MovieSystem movieSystem = new MovieSystemImpl();

//1.输出每部电影的总评分并查询总评分前3名
// (输出格式：电影编号  总评分)
        System.out.println("评分最高的前三名");
        List<Movie> topMovies = movieSystem.getTopMovies(3);
        for (Movie movie : topMovies) {
            System.out.println(movie.getId() + " " + movie.getScore());
        }
        LogCat.line();

//2.根据评分数据得到每位用户的评分前三名
// (输出格式：用户编号  评分)
        System.out.println("每位用户的评分前三名");
        Map<User, List<Movie>> topMoviesByUser = movieSystem.getTopMoviesByUser(3);
        for (Map.Entry<User, List<Movie>> entry : topMoviesByUser.entrySet()) {
            System.out.println(entry.getKey().getId() + " " + entry.getValue());
        }
        LogCat.line();

//3.根据评分数据得到最火的三部电影
// (最火的意思就是评论次数最多的)
// (输出格式：电影编号  评分次数)
        System.out.println("最火的三部电影");
        List<Movie> topMoviesByEvaluate = movieSystem.getTopMoviesByEvaluate(3);
        for (Movie movie : topMoviesByEvaluate) {
            System.out.println(movie.getName() + " 评论数:" + movie.getEvaluateCount());
        }
        LogCat.line();

//4.求被评分次数最多的3部电影，并给出评分次数
// （电影名  评分次数）
        System.out.println("被评分次数最多的3部电影");
        Map<Movie, Integer> topMoviesByScore = movieSystem.getTopMoviesByScore(3);
        for (Map.Entry<Movie, Integer> entry : topMoviesByScore.entrySet()) {
            System.out.println(entry.getKey().getName() + " 评论次数" + entry.getValue());
        }


//5.每个电影前三名的评分
// 电影名  总评分）

//6.求2017年上映的电影中，评分最高的3部剧情类电影
// （电影名，总评分）

//7.分别求男性，
// 女性当中评分(平均得分)最高的10部电影
// （性别，电影名，评分）



    }
}
